package net.kts.subskill.alarm;

import net.kts.main.R;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.provider.MediaStore.Audio;
import android.util.Log;

public class AlarmReceiver extends BroadcastReceiver {

	private int YOURAPP_NOTIFICATION_ID = 1;

	@Override
	public void onReceive(Context context, Intent intent) {
		// TODO Auto-generated method stub
		Log.i("log333", "AlarmReciver onRecive");

		showNotification(context, R.drawable.ic_launcher, "Reconfirm Alarm", "Reconfirm Alarm");	
	}


	private void showNotification(Context context, int statusBarIconID,
			String statusBarTextID, String detailedTextID) {
		// TODO Auto-generated method stub
		Log.i("log333", "AlarmReciver showNotification");


		// 상태 표시줄에 표시
		// 아이콘, 메시지, 현재시간
		Notification notif = new Notification(statusBarIconID, "Reconfirm Alarm", System.currentTimeMillis());

		// 기본 벨소리 5번째 사용
		notif.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "5");
		//취소하거나 상태란을 확장하기 전까지 소리를 계속 발생함
		notif.flags = Notification.FLAG_INSISTENT;

		Intent contentIntent = new Intent(context, Alarm.class);
		contentIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		/*
		 * PendingIntent : 위임형 인텐트(자신이 직접 액티비티를 호출하는 것이 아니라 다른 컴포넌트에게
		 * 액티비티 실행을 요청(위임)하는 인텐트
		 */
		PendingIntent theappIntent = PendingIntent.getActivity(context, 0, contentIntent, PendingIntent.FLAG_UPDATE_CURRENT);

		notif.setLatestEventInfo(context, statusBarTextID, detailedTextID, theappIntent);

		notif.ledARGB = Color.GREEN;
		NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

		nm.notify(YOURAPP_NOTIFICATION_ID, notif);


	}

}
